package com.ftg.learn.chapter12;

import com.ftg.learn.chapter08.Student;

import java.util.HashSet;
import java.util.Set;

/**
 * 学习一下hash冲突问题
 *
 * @author kangjx
 * @version 1.0
 * @date 2023/2/13 上午10:57
 */
public class LearnSet02 {

    public static void main(String[] args) {
        Set<String> set1 = new HashSet<>(2);
        set1.add("a");
        set1.add("a");


        // hashmap key不相同，但key的hashcode相同，是如何存储的 [链表 > 8 转换树]
        // hashmap key相同，所以key的hashcode相同,覆盖了
//        @Data
        // set存储两个对象的时候 ，如果对象里面的值为相同的，那么他们是否被 覆盖
        //
        Set<Student> set = new HashSet<>();
        Student s = new Student();
        s.setAge(23);
        s.setClazz(null);
        s.setName("张");
        s.setSex('男');
        set.add(s);

        s = new Student();
        s.setAge(23);
        s.setClazz(null);
        s.setName("张");
        s.setSex('男');
        set.add(s);

        for (Student student : set) {
            System.out.println(student.getName());
        }

        System.out.println(new Student().hashCode());
        System.out.println(new Student().hashCode());

    }

}
